Fix DHCP v4/v6 race condition and memory leak #1226
Closed
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
This PR fixes DHCP - v4 and v6 race condition and memory leak.
While the DHCP state machine is processing response from a DHCP server, causing it to change the DHCP state, if another DHCP server responds to the DUT, state mismatch will cause the
vDHCPProcessfunction to result in an infinite loop.Thanks Raghav for reporting this issue in the forum post.
Along with this fix, the zero copy buffers were not freed in the DHCPv6 state machine as well as in DHCPv4 corner cases, those are also corrected in this PR.
Test Steps
STM32F4 - DHCP v4 tests
Checklist:
Related Issue
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.